import request from '@/config/axios'

// 店铺信息 VO
export interface ShopVO {
  id: number // 店铺唯一标识
  name: string // 店铺名称
  type: number // 店铺类型：0总店, 1分店
  parentId: number // 所属总店ID
  address: string // 详细地址
  tel: string // 联系电话
  status: number // 1营业中, 0已关闭
  latitude: number // 纬度（精确到小数点后8位，范围：-90~90）
  longitude: number // 经度（精确到小数点后8位，范围：-180~180）
}

// 店铺信息 API
export const ShopApi = {
  // 查询店铺信息分页
  getShopPage: async (params: any) => {
    return await request.get({ url: `/shop/page`, params })
  },

  // 查询店铺信息详情
  getShopById: async (id: number) => {
    return await request.get({ url: `/shop/getById?id=` + id })
  },

  // 新增店铺信息
  createShop: async (data: ShopVO) => {
    return await request.post({ url: `/shop/create`, data })
  },

  // 修改店铺信息
  updateShop: async (data: ShopVO) => {
    return await request.post({ url: `/shop/update`, data })
  },

  // 修改店铺信息状态
  updateShopStatus: async (id: number, status: number) => {
    const data = {
      id,
      status
    }
    return await request.post({ url: `/shop/updateStatus`, data: data })
  },

  // 删除店铺信息
  deleteShopById: async (id: number) => {
    return await request.get({ url: `/shop/delete?id=` + id })
  },

  // 导出店铺信息 Excel
  exportShop: async (params) => {
    return await request.download({ url: `/shop/export-excel`, params })
  }
}